export interface Choice {
  text: string;
  index: number;
  logprobs?: any;
  finish_reason: string;
}

export interface Usage {
  prompt_tokens: number;
  completion_tokens: number;
  total_tokens: number;
}

export interface Detail {
  id: string;
  object: string;
  created: number;
  model: string;
  choices: Choice[];
  usage: Usage;
}

export interface Message extends MessageBase {
  role: string;
  id: string;
  parentMessageId: string;
  conversationId: string;
  text: string;
  detail: Detail;
}

export interface MessageBase {
  statusCode: number;
  statusText: string;

  type: "response" | "request";
}
